import { request } from '../../utils/request';
Page({
  data: {
    service: null, // 服务数据（从其他页面传递）
    elderList: [],
    selectedElder: null,
    bedNo:null,
    selectedElderId: null, // 注意：这里必须声明该变量
    showElderModal: false,
    // 时间选择相关
    selectedDate: null,
    selectedTime: null,
    fullDateTime: null,
    minDate: '',
    maxDate: '',
    customerId: null
    
  },
  onLoad(options) {
    // 接收服务数据
    if (options.service) {
      const service = JSON.parse(options.service);
      this.setData({
        service
      });

    }
    // 初始化日期范围
    const now = new Date();
    const threeMonthsLater = new Date(now);
    threeMonthsLater.setMonth(threeMonthsLater.getMonth() + 3);
    const formatDate = (date) => {
      const year = date.getFullYear();
      const month = String(date.getMonth() + 1).padStart(2, '0');
      const day = String(date.getDate()).padStart(2, '0');
      return `${year}-${month}-${day}`;
    };
    this.setData({
      minDate: formatDate(now),
      maxDate: formatDate(threeMonthsLater)
    });
     // 3. 调用后端接口获取老人列表
     this.fetchElderList();
     this.fetchCustomerId(); // 确保此方法被调用
  },
   // 调用后端接口获取老人数据
   fetchElderList() {
    request('/Elder/list', {}, 'GET')
      .then(res => {
        if (res.code === 200) {
          this.setData({ elderList: res.data });
        } else {
          wx.showToast({ title: '获取老人信息失败', icon: 'none' });
        }
      })
      .catch(err => {
        wx.showToast({ title: '网络请求失败', icon: 'none' });
        console.error(err);
      });


   
  },

   // 修正 fetchCustomerId 方法，确保正确访问数据和打印日志
fetchCustomerId() {
  request('/Elder/customerid', {}, 'GET')
    .then(res => {
      console.log("接口返回结果：", res); // 打印完整响应，方便排查
      if (res.code === 200) {
        if (res) { // 处理有数据的情况
          this.setData({ customerId: res.msg });
          console.log("客户id为：", this.data.customerId); // 正确从this.data获取
        } else { // 处理后端返回空的情况
          wx.showToast({ title: '客户ID不存在', icon: 'none' });
          this.setData({ customerId: null });
        }
      } else { // 接口返回错误码
        wx.showToast({ title: res.msg || '获取客户ID失败', icon: 'none' });
      }
    })
    .catch(err => {
      wx.showToast({ title: '网络请求失败', icon: 'none' });
      console.error("请求错误：", err); // 打印错误详情
    });
},



  // 家人弹窗控制
  showElderModal() { this.setData({ showElderModal: true }); },
  hideElderModal() { this.setData({ showElderModal: false }); },
  selectElder(e) {
    const elder = e.currentTarget.dataset.elder;
    this.setData({
      selectedElder: elder.name,
      selectedElderId: elder.id, // 这里给变量赋值
      bedNo: elder.bedNo,
      showElderModal: false
    });
  },
  // 选择日期
  onDateChange(e) {
    this.setData({ 
      selectedDate: e.detail.value,
      fullDateTime: this.data.selectedTime 
        ? `${e.detail.value} ${this.data.selectedTime}` 
        : ''
    });
  },
  // 选择时间
  onTimeChange(e) {
    this.setData({ 
      selectedTime: e.detail.value,
      fullDateTime: this.data.selectedDate 
        ? `${this.data.selectedDate} ${e.detail.value}` 
        : ''
    });
  },
  stopPropagation() {},
  navToConfirmOrder() {
    // 修复：这里必须从data中解构selectedElderId
    const { service, selectedElder, selectedElderId, fullDateTime,bedNo,customerId} = this.data;
    if (!service || !selectedElder || !fullDateTime) {
      wx.showToast({ title: '请选择服务家人和完整时间', icon: 'none' });
      return;
    }
    // 构造订单数据（现在selectedElderId已正确获取）
    const orderData = {
      serviceId: service.id,
      serviceName: service.name,
      serviceImg: service.imgUrl,
      price: service.price,
      elderId: selectedElderId, // 这里不再报错
      elderName: selectedElder,
      serviceTime: fullDateTime,
      bedNo:bedNo,
      customerId:customerId // 使用解构后的 customerId
     
    };
  
    wx.navigateTo({
      url: `/pages/confirm-order/confirm-order?orderData=${encodeURIComponent(JSON.stringify(orderData))}`,
      success: () => console.log("跳转成功，订单数据：", orderData),
      fail: (err) => console.error("跳转失败原因：", err)
    });
  }
});